package com.baibei.ebec.user.address;


import com.baibei.basic.IPresenter;
import com.baibei.basic.IPresenterView;
import com.baibei.model.AddressInfo;
import com.rae.widget.dialog.model.LocationProvinceInfoBean;

import java.util.List;

/**
 * 收货地址
 * Created by ChenRui on 2016/8/13 0013.
 */
public interface AddressEditContract {

    interface Presenter extends IPresenter {

        /**
         * 添加收货地址
         */
        void addAddress();

        /**
         * 更新收货地址
         */
        void updateAddress();

    }

    interface View extends IPresenterView {


        /**
         * 获取收货地址
         *
         * @return
         */
        AddressInfo getAddressInfo();


        /**
         * 添加收货地址成功
         *
         * @param result
         */
        void onAddAddressSuccess(AddressInfo result);

        /**
         * 更新收货地址成功
         */
        void onUpdateAddressSuccess();


        /**
         * 操作失败统一返回
         *
         * @param errorCode
         * @param msg
         */
        void onAddAddressFailed(int errorCode, String msg);


        /**
         * 更新失败
         *
         * @param errorCode
         * @param msg
         */
        void onUpdateAddressFailed(int errorCode, String msg);


        /**
         * 加载地区数据失败
         *
         * @param msg
         */
        void onLoadAreaDataFailed(String msg);

        /**
         * 加载地区数据成功
         *
         * @param data
         */
        void onLoadAreaDataSuccess(List<LocationProvinceInfoBean> data);

    }
}
